[INFO] fetching crate nexo-retailer-protocol 0.1.0...
[INFO] testing nexo-retailer-protocol-0.1.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065
[INFO] extracting crate nexo-retailer-protocol 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] started tweaking crates.io crate nexo-retailer-protocol 0.1.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate nexo-retailer-protocol 0.1.0
[INFO] tweaked toml for crates.io crate nexo-retailer-protocol 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nexo-retailer-protocol 0.1.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate nexo-retailer-protocol 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 61c338c438e3dc240c60efafc37ec250f76702aeb60b9865325a5162f0411e64
[INFO] running `Command { std: "docker" "start" "-a" "61c338c438e3dc240c60efafc37ec250f76702aeb60b9865325a5162f0411e64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "61c338c438e3dc240c60efafc37ec250f76702aeb60b9865325a5162f0411e64", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61c338c438e3dc240c60efafc37ec250f76702aeb60b9865325a5162f0411e64", kill_on_drop: false }`
[INFO] [stdout] 61c338c438e3dc240c60efafc37ec250f76702aeb60b9865325a5162f0411e64
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f7048c27ac491c3956926b71510f5e40a06a1faa7018244bc10516d54a94974e
[INFO] running `Command { std: "docker" "start" "-a" "f7048c27ac491c3956926b71510f5e40a06a1faa7018244bc10516d54a94974e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]    Compiling petgraph v0.8.3
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling prost-derive v0.14.3
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling prost v0.14.3
[INFO] [stderr]    Compiling prost-types v0.14.3
[INFO] [stderr]    Compiling prost-build v0.14.3
[INFO] [stderr]    Compiling nexo-retailer-protocol v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]   --> src/client/timeout.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | use core::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]   --> src/error/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use alloc::string::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/transport/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | use core::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MESSAGE_ID_COUNTER` is never used
[INFO] [stdout]   --> src/client/timeout.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | static MESSAGE_ID_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `complete` is never used
[INFO] [stdout]   --> src/client/std.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl PendingRequests {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn complete(&mut self, id: String, response: Vec<u8>) -> Result<(), Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DEDUP_TTL` is never used
[INFO] [stdout]   --> src/server/connection.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DEFAULT_DEDUP_TTL: Duration = Duration::from_secs(5 * 60);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_flag` is never read
[INFO] [stdout]   --> src/server/std_impl.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct NexoServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     shutdown_flag: Arc<tokio::sync::Notify>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 150 -     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stdout] 150 +     fn read(&mut self, buf: &mut [u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 168 -     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stdout] 168 +     fn write(&mut self, buf: &[u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 182 -     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stdout] 182 +     fn connect(&mut self, addr: &str) -> impl std::future::Future<Output = Result<(), Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "f7048c27ac491c3956926b71510f5e40a06a1faa7018244bc10516d54a94974e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f7048c27ac491c3956926b71510f5e40a06a1faa7018244bc10516d54a94974e", kill_on_drop: false }`
[INFO] [stdout] f7048c27ac491c3956926b71510f5e40a06a1faa7018244bc10516d54a94974e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4c964fd2f0aceea28f274bb78e81535dcd8e04ee8f5e1160a65c30533be3f144
[INFO] running `Command { std: "docker" "start" "-a" "4c964fd2f0aceea28f274bb78e81535dcd8e04ee8f5e1160a65c30533be3f144", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling jiff v0.2.22
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling prost-types v0.14.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling prost-build v0.14.3
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling nexo-retailer-protocol v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling proptest-derive v0.4.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]   --> src/client/timeout.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | use core::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]   --> src/error/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use alloc::string::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/transport/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | use core::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prost::alloc::string::ToString`
[INFO] [stdout]    --> src/client/builder.rs:706:13
[INFO] [stdout]     |
[INFO] [stdout] 706 |         use prost::alloc::string::ToString;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Ordering`
[INFO] [stdout]   --> src/client/timeout.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | use core::sync::atomic::{AtomicU64, Ordering};
[INFO] [stdout]    |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `alloc::string::String`
[INFO] [stdout]   --> src/error/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use alloc::string::String;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> src/transport/mod.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | use core::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/client/std.rs:808:13
[INFO] [stdout]     |
[INFO] [stdout] 808 |         let mut client = NexoClient::with_transport(mock);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/heartbeat.rs:573:13
[INFO] [stdout]     |
[INFO] [stdout] 573 |         let mut monitor = HeartbeatMonitor::new(config);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/server/heartbeat.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let mut monitor = HeartbeatMonitor::new(config);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:378:13
[INFO] [stdout]     |
[INFO] [stdout] 378 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let mut framed = FramedTransport::new(transport);
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:381:13
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `framed`
[INFO] [stdout]    --> src/transport/framing.rs:379:13
[INFO] [stdout]     |
[INFO] [stdout] 379 |         let mut framed = FramedTransport::new(transport);
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_framed`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:456:13
[INFO] [stdout]     |
[INFO] [stdout] 456 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:482:13
[INFO] [stdout]     |
[INFO] [stdout] 482 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:508:13
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:534:13
[INFO] [stdout]     |
[INFO] [stdout] 534 |         let mut transport = MockTransport::new().with_partial_reads(2);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:560:13
[INFO] [stdout]     |
[INFO] [stdout] 560 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/transport/framing.rs:596:13
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let mut transport = MockTransport::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MESSAGE_ID_COUNTER` is never used
[INFO] [stdout]   --> src/client/timeout.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | static MESSAGE_ID_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_sent_data` is never used
[INFO] [stdout]    --> src/client/std.rs:759:12
[INFO] [stdout]     |
[INFO] [stdout] 746 |     impl MockFramedTransport {
[INFO] [stdout]     |     ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 759 |         fn get_sent_data(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DEDUP_TTL` is never used
[INFO] [stdout]   --> src/server/connection.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DEFAULT_DEDUP_TTL: Duration = Duration::from_secs(5 * 60);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset` is never used
[INFO] [stdout]    --> src/server/handler.rs:321:16
[INFO] [stdout]     |
[INFO] [stdout] 309 |     impl MockRequestHandler {
[INFO] [stdout]     |     ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 321 |         pub fn reset(&self) {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_flag` is never read
[INFO] [stdout]   --> src/server/std_impl.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct NexoServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     shutdown_flag: Arc<tokio::sync::Notify>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_available_port` is never used
[INFO] [stdout]    --> src/transport/tokio.rs:515:8
[INFO] [stdout]     |
[INFO] [stdout] 515 |     fn get_available_port() -> u16 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 150 -     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stdout] 150 +     fn read(&mut self, buf: &mut [u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 168 -     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stdout] 168 +     fn write(&mut self, buf: &[u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 182 -     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stdout] 182 +     fn connect(&mut self, addr: &str) -> impl std::future::Future<Output = Result<(), Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `MESSAGE_ID_COUNTER` is never used
[INFO] [stdout]   --> src/client/timeout.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | static MESSAGE_ID_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `complete` is never used
[INFO] [stdout]   --> src/client/std.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl PendingRequests {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn complete(&mut self, id: String, response: Vec<u8>) -> Result<(), Vec<u8>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_DEDUP_TTL` is never used
[INFO] [stdout]   --> src/server/connection.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DEFAULT_DEDUP_TTL: Duration = Duration::from_secs(5 * 60);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_flag` is never read
[INFO] [stdout]   --> src/server/std_impl.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct NexoServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     shutdown_flag: Arc<tokio::sync::Notify>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 150 -     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stdout] 150 +     fn read(&mut self, buf: &mut [u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 168 -     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stdout] 168 +     fn write(&mut self, buf: &[u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]    --> src/transport/mod.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]     |
[INFO] [stdout] 182 -     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stdout] 182 +     fn connect(&mut self, addr: &str) -> impl std::future::Future<Output = Result<(), Self::Error>> + Send;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/unit/serialization_edge_cases.rs:308:1
[INFO] [stdout]     |
[INFO] [stdout] 308 | /// Low-case-count proptest block for oversized message tests
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/unit/serialization_edge_cases.rs:561:1
[INFO] [stdout]     |
[INFO] [stdout] 561 | /// Additional proptest block for advanced property tests with higher case counts
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/unit/serialization_edge_cases.rs:650:1
[INFO] [stdout]     |
[INFO] [stdout] 650 | /// High-case-count proptest block for extensive fuzzing
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> tests/unit/serialization_edge_cases.rs:753:1
[INFO] [stdout]     |
[INFO] [stdout] 753 | /// Round-trip property tests with custom strategies for realistic field values
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]    --> tests/unit/serialization_edge_cases.rs:574:66
[INFO] [stdout]     |
[INFO] [stdout] 574 |         use nexo_retailer_protocol::transport::{FramedTransport, Transport, framing::MAX_FRAME_SIZE};
[INFO] [stdout]     |                                                                  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nexo_retailer_protocol::error::NexoError`
[INFO] [stdout]    --> tests/unit/serialization_edge_cases.rs:575:13
[INFO] [stdout]     |
[INFO] [stdout] 575 |         use nexo_retailer_protocol::error::NexoError;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::time::Duration`
[INFO] [stdout]   --> examples/echo_server.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | use core::time::Duration;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> examples/echo_server.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 162 | /     loop {
[INFO] [stdout] 163 | |         // Accept a new connection
[INFO] [stdout] 164 | |         match listener.accept().await {
[INFO] [stdout] 165 | |             Ok((tcp_stream, peer_addr)) => {
[INFO] [stdout] ...   |
[INFO] [stdout] 184 | |     }
[INFO] [stdout]     | |_____- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 208 |       Ok(())
[INFO] [stdout]     |       ^^^^^^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> tests/server_heartbeat_integration.rs:171:9
[INFO] [stdout]     |
[INFO] [stdout] 171 |     let mut monitor = HeartbeatMonitor::new(config);
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nexo_retailer_protocol::Casp001Document`
[INFO] [stdout]    --> tests/cross_runtime_test.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |     use nexo_retailer_protocol::Casp001Document;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prost::Message`
[INFO] [stdout]    --> tests/cross_runtime_test.rs:477:9
[INFO] [stdout]     |
[INFO] [stdout] 477 |     use prost::Message;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TokioTransport`
[INFO] [stdout]    --> tests/cross_runtime_test.rs:555:45
[INFO] [stdout]     |
[INFO] [stdout] 555 |     use nexo_retailer_protocol::transport::{TokioTransport, TimeoutConfig};
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> tests/cross_runtime_test.rs:58:34
[INFO] [stdout]    |
[INFO] [stdout] 58 |         async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transport`
[INFO] [stdout]   --> tests/framing_test.rs:10:58
[INFO] [stdout]    |
[INFO] [stdout] 10 | use nexo_retailer_protocol::transport::{FramedTransport, Transport, TokioTransport};
[INFO] [stdout]    |                                                          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoded`
[INFO] [stdout]    --> tests/framing_test.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |     let encoded = normal_msg.encode_to_vec();
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `oversized_len`
[INFO] [stdout]    --> tests/framing_test.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let oversized_len = 4 * 1024 * 1024 + 1; // 4MB + 1 byte
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_oversized_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AtomicUsize`
[INFO] [stdout]   --> tests/server_integration.rs:23:37
[INFO] [stdout]    |
[INFO] [stdout] 23 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prost::Message`
[INFO] [stdout]   --> tests/server_integration.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use prost::Message;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> tests/framing_test.rs:541:13
[INFO] [stdout]     |
[INFO] [stdout] 541 |         for i in 0..5u8 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `server`
[INFO] [stdout]    --> tests/server_integration.rs:387:10
[INFO] [stdout]     |
[INFO] [stdout] 387 |     let (server, addr) = start_test_server().await;
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_sent` is assigned to, but never used
[INFO] [stdout]    --> tests/server_integration.rs:810:9
[INFO] [stdout]     |
[INFO] [stdout] 810 |     let mut total_sent = 0;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total_sent` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_sent` is never read
[INFO] [stdout]    --> tests/server_integration.rs:813:13
[INFO] [stdout]     |
[INFO] [stdout] 813 |             total_sent += count;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total` is assigned to, but never used
[INFO] [stdout]   --> tests/transport/connection_lifecycle.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let mut total = 0;
[INFO] [stdout]    |             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_total` instead
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total` is never read
[INFO] [stdout]   --> tests/transport/connection_lifecycle.rs:87:13
[INFO] [stdout]    |
[INFO] [stdout] 87 |             total += n;
[INFO] [stdout]    |             ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncReadExt`
[INFO] [stdout]   --> tests/tokio_timeout_test.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stdout]    |                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_close_on_connect`, `set_reject_attempts`, and `connection_count` are never used
[INFO] [stdout]   --> tests/mock_server.rs:65:18
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl MockNexoServer {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub async fn set_close_on_connect(&self, close: bool) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub async fn set_reject_attempts(&self, count: u32) {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub async fn connection_count(&self) -> u32 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 47s
[INFO] running `Command { std: "docker" "inspect" "4c964fd2f0aceea28f274bb78e81535dcd8e04ee8f5e1160a65c30533be3f144", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4c964fd2f0aceea28f274bb78e81535dcd8e04ee8f5e1160a65c30533be3f144", kill_on_drop: false }`
[INFO] [stdout] 4c964fd2f0aceea28f274bb78e81535dcd8e04ee8f5e1160a65c30533be3f144
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7e78ee653e3aa4302f50d383ec19e5918f5d8e7149e77424eaf80d2e68dea164
[INFO] running `Command { std: "docker" "start" "-a" "7e78ee653e3aa4302f50d383ec19e5918f5d8e7149e77424eaf80d2e68dea164", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Ordering`
[INFO] [stderr]   --> src/client/timeout.rs:23:37
[INFO] [stderr]    |
[INFO] [stderr] 23 | use core::sync::atomic::{AtomicU64, Ordering};
[INFO] [stderr]    |                                     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `alloc::string::String`
[INFO] [stderr]   --> src/error/mod.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | use alloc::string::String;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::time::Duration`
[INFO] [stderr]   --> src/transport/mod.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 | use core::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `MESSAGE_ID_COUNTER` is never used
[INFO] [stderr]   --> src/client/timeout.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | static MESSAGE_ID_COUNTER: AtomicU64 = AtomicU64::new(0);
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `complete` is never used
[INFO] [stderr]   --> src/client/std.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr] 36 | impl PendingRequests {
[INFO] [stderr]    | -------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 69 |     fn complete(&mut self, id: String, response: Vec<u8>) -> Result<(), Vec<u8>> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `DEFAULT_DEDUP_TTL` is never used
[INFO] [stderr]   --> src/server/connection.rs:14:7
[INFO] [stderr]    |
[INFO] [stderr] 14 | const DEFAULT_DEDUP_TTL: Duration = Duration::from_secs(5 * 60);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `shutdown_flag` is never read
[INFO] [stderr]   --> src/server/std_impl.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 53 | pub struct NexoServer {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     shutdown_flag: Arc<tokio::sync::Notify>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> src/transport/mod.rs:150:5
[INFO] [stderr]     |
[INFO] [stderr] 150 |     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr]     = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 150 -     async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error>;
[INFO] [stderr] 150 +     fn read(&mut self, buf: &mut [u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> src/transport/mod.rs:168:5
[INFO] [stderr]     |
[INFO] [stderr] 168 |     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 168 -     async fn write(&mut self, buf: &[u8]) -> Result<usize, Self::Error>;
[INFO] [stderr] 168 +     fn write(&mut self, buf: &[u8]) -> impl std::future::Future<Output = Result<usize, Self::Error>> + Send;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]    --> src/transport/mod.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 182 |     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]     |
[INFO] [stderr] 182 -     async fn connect(&mut self, addr: &str) -> Result<(), Self::Error>;
[INFO] [stderr] 182 +     fn connect(&mut self, addr: &str) -> impl std::future::Future<Output = Result<(), Self::Error>> + Send;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `nexo-retailer-protocol` (lib) generated 10 warnings (run `cargo fix --lib -p nexo-retailer-protocol` to apply 3 suggestions)
[INFO] [stderr] warning: variable `total` is assigned to, but never used
[INFO] [stderr]   --> tests/transport/connection_lifecycle.rs:82:13
[INFO] [stderr]    |
[INFO] [stderr] 82 |         let mut total = 0;
[INFO] [stderr]    |             ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_total` instead
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `total` is never read
[INFO] [stderr]   --> tests/transport/connection_lifecycle.rs:87:13
[INFO] [stderr]    |
[INFO] [stderr] 87 |             total += n;
[INFO] [stderr]    |             ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `prost::alloc::string::ToString`
[INFO] [stderr]    --> src/client/builder.rs:706:13
[INFO] [stderr]     |
[INFO] [stderr] 706 |         use prost::alloc::string::ToString;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Ordering`
[INFO] [stderr]   --> src/client/timeout.rs:23:37
[INFO] [stderr]    |
[INFO] [stderr] 23 | use core::sync::atomic::{AtomicU64, Ordering};
[INFO] [stderr]    |                                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/client/std.rs:808:13
[INFO] [stderr]     |
[INFO] [stderr] 808 |         let mut client = NexoClient::with_transport(mock);
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/server/heartbeat.rs:573:13
[INFO] [stderr]     |
[INFO] [stderr] 573 |         let mut monitor = HeartbeatMonitor::new(config);
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/server/heartbeat.rs:652:13
[INFO] [stderr]     |
[INFO] [stderr] 652 |         let mut monitor = HeartbeatMonitor::new(config);
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:378:13
[INFO] [stderr]     |
[INFO] [stderr] 378 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:379:13
[INFO] [stderr]     |
[INFO] [stderr] 379 |         let mut framed = FramedTransport::new(transport);
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:381:13
[INFO] [stderr]     |
[INFO] [stderr] 381 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `framed`
[INFO] [stderr]    --> src/transport/framing.rs:379:13
[INFO] [stderr]     |
[INFO] [stderr] 379 |         let mut framed = FramedTransport::new(transport);
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_framed`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:426:13
[INFO] [stderr]     |
[INFO] [stderr] 426 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:456:13
[INFO] [stderr]     |
[INFO] [stderr] 456 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:482:13
[INFO] [stderr]     |
[INFO] [stderr] 482 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:508:13
[INFO] [stderr]     |
[INFO] [stderr] 508 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:534:13
[INFO] [stderr]     |
[INFO] [stderr] 534 |         let mut transport = MockTransport::new().with_partial_reads(2);
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:560:13
[INFO] [stderr]     |
[INFO] [stderr] 560 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/transport/framing.rs:596:13
[INFO] [stderr]     |
[INFO] [stderr] 596 |         let mut transport = MockTransport::new();
[INFO] [stderr]     |             ----^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_sent_data` is never used
[INFO] [stderr]    --> src/client/std.rs:759:12
[INFO] [stderr]     |
[INFO] [stderr] 746 |     impl MockFramedTransport {
[INFO] [stderr]     |     ------------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 759 |         fn get_sent_data(&self) -> &[u8] {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `reset` is never used
[INFO] [stderr]    --> src/server/handler.rs:321:16
[INFO] [stderr]     |
[INFO] [stderr] 309 |     impl MockRequestHandler {
[INFO] [stderr]     |     ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 321 |         pub fn reset(&self) {
[INFO] [stderr]     |                ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_available_port` is never used
[INFO] [stderr]    --> src/transport/tokio.rs:515:8
[INFO] [stderr]     |
[INFO] [stderr] 515 |     fn get_available_port() -> u16 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> tests/unit/serialization_edge_cases.rs:308:1
[INFO] [stderr]     |
[INFO] [stderr] 308 | /// Low-case-count proptest block for oversized message tests
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> tests/unit/serialization_edge_cases.rs:561:1
[INFO] [stderr]     |
[INFO] [stderr] 561 | /// Additional proptest block for advanced property tests with higher case counts
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> tests/unit/serialization_edge_cases.rs:650:1
[INFO] [stderr]     |
[INFO] [stderr] 650 | /// High-case-count proptest block for extensive fuzzing
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> tests/unit/serialization_edge_cases.rs:753:1
[INFO] [stderr]     |
[INFO] [stderr] 753 | /// Round-trip property tests with custom strategies for realistic field values
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]     |
[INFO] [stderr]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]    --> tests/unit/serialization_edge_cases.rs:574:66
[INFO] [stderr]     |
[INFO] [stderr] 574 |         use nexo_retailer_protocol::transport::{FramedTransport, Transport, framing::MAX_FRAME_SIZE};
[INFO] [stderr]     |                                                                  ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nexo_retailer_protocol::error::NexoError`
[INFO] [stderr]    --> tests/unit/serialization_edge_cases.rs:575:13
[INFO] [stderr]     |
[INFO] [stderr] 575 |         use nexo_retailer_protocol::error::NexoError;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "transport_connection_lifecycle") generated 2 warnings
[INFO] [stderr] warning: `nexo-retailer-protocol` (lib test) generated 27 warnings (8 duplicates) (run `cargo fix --lib -p nexo-retailer-protocol --tests` to apply 16 suggestions)
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "serialization_edge_cases") generated 6 warnings (run `cargo fix --test "serialization_edge_cases" -p nexo-retailer-protocol` to apply 2 suggestions)
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> tests/server_heartbeat_integration.rs:171:9
[INFO] [stderr]     |
[INFO] [stderr] 171 |     let mut monitor = HeartbeatMonitor::new(config);
[INFO] [stderr]     |         ----^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::time::Duration`
[INFO] [stderr]   --> examples/echo_server.rs:42:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | use core::time::Duration;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable expression
[INFO] [stderr]    --> examples/echo_server.rs:208:5
[INFO] [stderr]     |
[INFO] [stderr] 162 | /     loop {
[INFO] [stderr] 163 | |         // Accept a new connection
[INFO] [stderr] 164 | |         match listener.accept().await {
[INFO] [stderr] 165 | |             Ok((tcp_stream, peer_addr)) => {
[INFO] [stderr] ...   |
[INFO] [stderr] 184 | |     }
[INFO] [stderr]     | |_____- any code following this expression is unreachable
[INFO] [stderr] ...
[INFO] [stderr] 208 |       Ok(())
[INFO] [stderr]     |       ^^^^^^ unreachable expression
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_close_on_connect`, `set_reject_attempts`, and `connection_count` are never used
[INFO] [stderr]   --> tests/mock_server.rs:65:18
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl MockNexoServer {
[INFO] [stderr]    | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub async fn set_close_on_connect(&self, close: bool) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub async fn set_reject_attempts(&self, count: u32) {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 87 |     pub async fn connection_count(&self) -> u32 {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transport`
[INFO] [stderr]   --> tests/framing_test.rs:10:58
[INFO] [stderr]    |
[INFO] [stderr] 10 | use nexo_retailer_protocol::transport::{FramedTransport, Transport, TokioTransport};
[INFO] [stderr]    |                                                          ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `encoded`
[INFO] [stderr]    --> tests/framing_test.rs:131:9
[INFO] [stderr]     |
[INFO] [stderr] 131 |     let encoded = normal_msg.encode_to_vec();
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoded`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `oversized_len`
[INFO] [stderr]    --> tests/framing_test.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 134 |     let oversized_len = 4 * 1024 * 1024 + 1; // 4MB + 1 byte
[INFO] [stderr]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_oversized_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> tests/framing_test.rs:541:13
[INFO] [stderr]     |
[INFO] [stderr] 541 |         for i in 0..5u8 {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncReadExt`
[INFO] [stderr]   --> tests/tokio_timeout_test.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tokio::io::{AsyncReadExt, AsyncWriteExt};
[INFO] [stderr]    |                 ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AtomicUsize`
[INFO] [stderr]   --> tests/server_integration.rs:23:37
[INFO] [stderr]    |
[INFO] [stderr] 23 | use std::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `prost::Message`
[INFO] [stderr]   --> tests/server_integration.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | use prost::Message;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `server`
[INFO] [stderr]    --> tests/server_integration.rs:387:10
[INFO] [stderr]     |
[INFO] [stderr] 387 |     let (server, addr) = start_test_server().await;
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_server`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `total_sent` is assigned to, but never used
[INFO] [stderr]    --> tests/server_integration.rs:810:9
[INFO] [stderr]     |
[INFO] [stderr] 810 |     let mut total_sent = 0;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_total_sent` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `total_sent` is never read
[INFO] [stderr]    --> tests/server_integration.rs:813:13
[INFO] [stderr]     |
[INFO] [stderr] 813 |             total_sent += count;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "server_heartbeat_integration") generated 1 warning (run `cargo fix --test "server_heartbeat_integration" -p nexo-retailer-protocol` to apply 1 suggestion)
[INFO] [stderr] warning: `nexo-retailer-protocol` (example "echo_server") generated 2 warnings (run `cargo fix --example "echo_server" -p nexo-retailer-protocol` to apply 1 suggestion)
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "client_integration") generated 1 warning
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "framing_test") generated 4 warnings (run `cargo fix --test "framing_test" -p nexo-retailer-protocol` to apply 3 suggestions)
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "tokio_timeout_test") generated 1 warning
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "server_integration") generated 5 warnings (run `cargo fix --test "server_integration" -p nexo-retailer-protocol` to apply 3 suggestions)
[INFO] [stderr] warning: unused import: `nexo_retailer_protocol::Casp001Document`
[INFO] [stderr]    --> tests/cross_runtime_test.rs:476:9
[INFO] [stderr]     |
[INFO] [stderr] 476 |     use nexo_retailer_protocol::Casp001Document;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `prost::Message`
[INFO] [stderr]    --> tests/cross_runtime_test.rs:477:9
[INFO] [stderr]     |
[INFO] [stderr] 477 |     use prost::Message;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TokioTransport`
[INFO] [stderr]    --> tests/cross_runtime_test.rs:555:45
[INFO] [stderr]     |
[INFO] [stderr] 555 |     use nexo_retailer_protocol::transport::{TokioTransport, TimeoutConfig};
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> tests/cross_runtime_test.rs:58:34
[INFO] [stderr]    |
[INFO] [stderr] 58 |         async fn read(&mut self, buf: &mut [u8]) -> Result<usize, Self::Error> {
[INFO] [stderr]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `nexo-retailer-protocol` (test "cross_runtime_test") generated 4 warnings (run `cargo fix --test "cross_runtime_test" -p nexo-retailer-protocol` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nexo_retailer_protocol-5d5b9d2218675efb)
[INFO] [stdout] 
[INFO] [stdout] running 252 tests
[INFO] [stdout] test client::builder::tests::test_header_builder_fluent_api ... ok
[INFO] [stdout] test client::builder::tests::test_header_builder_missing_protocol_version ... ok
[INFO] [stdout] test client::builder::tests::test_header_builder_missing_message_function ... ok
[INFO] [stdout] test client::builder::tests::test_header_builder_valid_construction ... ok
[INFO] [stdout] test client::builder::tests::test_message_builder_trait_exists ... ok
[INFO] [stdout] test client::builder::tests::test_payment_builder_missing_transaction_id ... ok
[INFO] [stdout] test client::builder::tests::test_payment_builder_valid_construction ... ok
[INFO] [stdout] test client::builder::tests::test_sale_to_poi_service_response_builder_missing_header ... ok
[INFO] [stdout] test client::builder::tests::test_header_builder_missing_transaction_id ... ok
[INFO] [stdout] test client::builder::tests::test_sale_to_poi_service_response_builder_valid_construction ... ok
[INFO] [stdout] test client::builder::tests::test_sale_to_poi_service_request_builder_missing_header ... ok
[INFO] [stdout] test client::reconnect::tests::test_backoff_max_delay_cap ... ok
[INFO] [stdout] test client::reconnect::tests::test_backoff_calculation ... ok
[INFO] [stdout] test client::builder::tests::test_payment_builder_fluent_api ... ok
[INFO] [stdout] test client::reconnect::tests::test_backoff_should_continue ... ok
[INFO] [stdout] test client::reconnect::tests::test_backoff_reset ... ok
[INFO] [stdout] test client::reconnect::tests::test_jitter_range ... ok
[INFO] [stdout] test client::std::tests::test_new_client_is_disconnected ... ok
[INFO] [stdout] test client::reconnect::tests::test_reconnect_config_builder ... ok
[INFO] [stdout] test client::reconnect::tests::test_reconnect_config_defaults ... ok
[INFO] [stdout] test client::std::tests::test_connection_state_transitions ... ok
[INFO] [stdout] test client::std::tests::test_default_client_is_disconnected ... ok
[INFO] [stdout] test client::std::tests::test_late_response_rejection ... ok
[INFO] [stdout] test client::std::tests::test_pending_requests_cleanup ... ok
[INFO] [stdout] test client::std::tests::test_receive_response_when_not_connected ... ok
[INFO] [stdout] test client::std::tests::test_pending_requests_register_and_complete ... ok
[INFO] [stdout] test client::std::tests::test_pending_requests_cleanup_then_complete ... ok
[INFO] [stdout] test client::std::tests::test_reconnect_without_config ... ok
[INFO] [stdout] test client::std::tests::test_send_and_receive_combined ... ok
[INFO] [stdout] test client::std::tests::test_pending_requests_register_replaces_existing ... ok
[INFO] [stdout] test client::std::tests::test_pending_requests_complete_unknown_id ... ok
[INFO] [stdout] test client::std::tests::test_send_and_receive_with_mock_transport ... ok
[INFO] [stdout] test client::std::tests::test_send_request_when_not_connected ... ok
[INFO] [stdout] test client::timeout::tests::test_generate_message_id_format ... ok
[INFO] [stdout] test client::std::tests::test_send_with_timeout_when_not_connected ... ok
[INFO] [stdout] test client::std::tests::test_send_request_with_connected_transport ... ok
[INFO] [stdout] test client::timeout::tests::test_timeout_config_default_trait ... ok
[INFO] [stdout] test client::timeout::tests::test_timeout_config_custom ... ok
[INFO] [stdout] test client::timeout::tests::test_timeout_config_default ... ok
[INFO] [stdout] test client::timeout::tests::test_generate_message_id_unique ... ok
[INFO] [stdout] test codec::limits::tests::test_card_data_limit_is_16kb ... ok
[INFO] [stdout] test codec::limits::tests::test_max_message_size_in_bytes ... ok
[INFO] [stdout] test codec::limits::tests::test_max_message_size_is_4mb ... ok
[INFO] [stdout] test codec::limits::tests::test_security_trailer_limit_is_64kb ... ok
[INFO] [stdout] test codec::tests::test_codec_trait_can_be_mocked ... ok
[INFO] [stdout] test codec::tests::test_convenience_encode_function ... ok
[INFO] [stdout] test codec::tests::test_convenience_decode_function ... ok
[INFO] [stdout] test codec::tests::test_decode_oversized_buffer ... ok
[INFO] [stdout] test codec::tests::test_decode_malformed_protobuf ... ok
[INFO] [stdout] test codec::tests::test_decode_valid_bytes ... ok
[INFO] [stdout] test codec::tests::test_encode_normal_message ... ok
[INFO] [stdout] test codec::tests::test_round_trip_encoding ... ok
[INFO] [stdout] test error::codes::tests::test_error_code_values ... ok
[INFO] [stdout] test codec::tests::test_encode_oversized_message ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test codec::tests::test_round_trip_with_convenience_functions ... ok
[INFO] [stdout] test error::codes::tests::test_error_code_ranges ... ok
[INFO] [stdout] test error::tests::test_error_source_returns_none ... ok
[INFO] [stdout] test error::tests::test_from_prost_errors_compile ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_clear_heartbeat_config ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_dedup_cache_insertion_and_retrieval ... ok
[INFO] [stdout] test error::tests::test_validation_error_display ... ok
[INFO] [stdout] test client::std::tests::test_reconnect_with_config ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_different_message_ids_accepted ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_field_accessors ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_heartbeat_config_initially_none ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_increment_message_count ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_new_has_empty_dedup_cache ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_new_has_recent_activity ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_set_heartbeat_config ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_with_custom_ttl ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_with_ttl_creates_valid_state ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_check_and_insert_duplicate_rejected ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_check_and_insert_first_occurrence ... ok
[INFO] [stdout] test client::builder::tests::test_sale_to_poi_service_request_builder_valid_construction ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_clear ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_contains ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_default ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_new ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_different_ids_accepted ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_activity_increases_over_time ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_duration_increases ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_long_message_id ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_empty_string_id ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_new ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_multiple_inserts_same_id ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatch_document_no_double_encoding ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatch_document_with_decoded_struct ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_empty_response_for_none_ack ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_encode_decode_round_trip ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_malformed_protobuf ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_routes_casp001_to_payment_handler ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_routes_casp002_to_payment_response_handler ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_routes_casp003_to_admin_handler ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_unsupported_message_type ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_new ... ok
[INFO] [stdout] test server::handler::tests::test_default_handler_returns_unsupported_error ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_update_activity_resets_timestamp ... ok
[INFO] [stdout] test server::handler::tests::test_mock_handler_admin_request ... ok
[INFO] [stdout] test server::dispatcher::tests::test_dispatcher_routes_casp004_to_admin_response_handler ... ok
[INFO] [stdout] test server::handler::tests::test_handler_is_send_sync ... ok
[INFO] [stdout] test server::handler::tests::test_mock_handler_payment_request ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_build_timeout_less_than_interval ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_build_timeout_equals_interval ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_builder_chain ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_new_has_defaults ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_build_valid ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_with_enabled ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_with_interval ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_with_timeout ... ok
[INFO] [stdout] test codec::limits::tests::test_batch_limit_matches_default ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_config_default ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_config_accessor ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_disabled_never_sends_heartbeat ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_disabled_never_times_out ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_new ... ok
[INFO] [stdout] test server::connection::tests::test_connection_state_expired_message_ids_accepted ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_should_send_heartbeat_initially_false ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_lazy_cleanup_on_insert ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_time_since_activity_increases ... ok
[INFO] [stdout] test server::dedup::tests::test_dedup_cache_cleanup_expired ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_accept_single_connection ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_bind_address_in_use ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_bind_invalid_address ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_bind_localhost ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_connection_count_starts_at_zero ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_handle_connection_echo ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_is_connected_returns_false_for_unknown ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_local_addr ... ok
[INFO] [stdout] test tests::test_builders_exported_at_crate_root ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_update_activity ... ok
[INFO] [stdout] test server::std_impl::tests::test_server_get_connections_starts_empty ... ok
[INFO] [stdout] test tests::test_validation_integration_alloc_feature ... ok
[INFO] [stdout] test tests::test_validation_integration_header_long_field ... ok
[INFO] [stdout] test tests::test_validation_integration_header_validation ... ok
[INFO] [stdout] test tests::test_validation_integration_invalid_currency ... ok
[INFO] [stdout] test tests::test_validation_integration_invalid_nanos ... ok
[INFO] [stdout] test tests::test_client_exported_at_crate_root ... ok
[INFO] [stdout] test tests::test_library_builds ... ok
[INFO] [stdout] test tests::test_validation_integration_standalone_validators ... ok
[INFO] [stdout] test tests::test_validation_integration_valid_message ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_check_timeout_expired ... ok
[INFO] [stdout] test transport::framing::tests::test_encode_decode_normal_message ... ok
[INFO] [stdout] test transport::framing::tests::test_empty_message ... ok
[INFO] [stdout] test transport::framing::tests::test_length_prefix_big_endian ... ok
[INFO] [stdout] test transport::framing::tests::test_framing_module_exists ... ok
[INFO] [stdout] test transport::framing::tests::test_oversized_length_prefix_rejected ... ok
[INFO] [stdout] test transport::framing::tests::test_multiple_messages_sequential ... ok
[INFO] [stdout] test transport::framing::tests::test_oversized_message_rejected ... ok
[INFO] [stdout] test transport::framing::tests::test_partial_read_handling ... ok
[INFO] [stdout] test transport::tests::test_transport_trait_defined ... ok
[INFO] [stdout] test transport::framing::tests::test_zero_length_prefix ... ok
[INFO] [stdout] test transport::tokio::tests::test_tokio_transport_connect_to_echo_server ... ok
[INFO] [stdout] test transport::tokio::tests::test_tokio_transport_is_connected ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_boundary_at_max ... ok
[INFO] [stdout] test transport::tokio::tests::test_tokio_transport_write_timeout ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_boundary_one_over_max ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_empty ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_error_message_includes_field_name ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_large ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_with_vec_i64 ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_with_single_item ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_with_vec_protobuf_messages ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_with_vec_string ... ok
[INFO] [stdout] test validate::constraints::alloc_tests::test_validate_repeated_field_with_zero_max ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_active_currency_and_amount ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_active_currency_and_amount_invalid ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_card_data8 ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_card_data8_invalid_pan_length ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_enum_value_boundary_cases ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_enum_value_error_message_includes_field_name ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_enum_value_invalid ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_enum_value_valid ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_enum_value_with_u32 ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_header4 ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_header4_empty ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_header4_with_long_field ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_identification1 ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_nested_structures ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_non_negative_i32_boundary_cases ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_non_negative_i32_error_message_includes_field_name ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_non_negative_i32_invalid ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_non_negative_i32_valid ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_positive_i64_boundary_cases ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_positive_i64_error_message_includes_field_name ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_positive_i64_invalid ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_positive_i64_valid ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_required_error_message_includes_field_name ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_required_missing ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_required_present ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_required_with_int ... ok
[INFO] [stdout] test validate::currency::tests::test_i32_max_and_min ... ok
[INFO] [stdout] test validate::currency::tests::test_invalid_currency_code_in_amount ... ok
[INFO] [stdout] test validate::constraints::tests::test_validate_option_validate_trait ... ok
[INFO] [stdout] test validate::currency::tests::test_invalid_format_lowercase ... ok
[INFO] [stdout] test validate::currency::tests::test_invalid_format_special_chars ... ok
[INFO] [stdout] test validate::currency::tests::test_invalid_format_numbers ... ok
[INFO] [stdout] test validate::currency::tests::test_invalid_length_too_short ... ok
[INFO] [stdout] test validate::currency::tests::test_invalid_length_too_long ... ok
[INFO] [stdout] test validate::currency::tests::test_nanos_boundary_999999999 ... ok
[INFO] [stdout] test validate::currency::tests::test_nanos_boundary_negative_999999999 ... ok
[INFO] [stdout] test validate::currency::tests::test_nanos_out_of_range_negative ... ok
[INFO] [stdout] test validate::currency::tests::test_nanos_out_of_range_positive ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_cad_amount ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_eur_amount ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_fractional_cents ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_gbp_amount ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_jpy_amount ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_large_transaction ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_negative_refund ... ok
[INFO] [stdout] test validate::currency::tests::test_realistic_usd_amount ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_check_timeout_reset_on_activity ... ok
[INFO] [stdout] test validate::currency::tests::test_sign_mismatch_negative_units_positive_nanos ... ok
[INFO] [stdout] test validate::currency::tests::test_sign_mismatch_positive_units_negative_nanos ... ok
[INFO] [stdout] test validate::currency::tests::test_valid_currency_codes ... ok
[INFO] [stdout] test validate::currency::tests::test_valid_monetary_amount ... ok
[INFO] [stdout] test validate::currency::tests::test_valid_nanos_at_boundaries ... ok
[INFO] [stdout] test validate::currency::tests::test_valid_negative_amount ... ok
[INFO] [stdout] test validate::currency::tests::test_valid_zero_amount ... ok
[INFO] [stdout] test validate::currency::tests::test_zero_units_with_nonzero_nanos ... ok
[INFO] [stdout] test validate::strings::tests::test_empty_string_always_valid ... ok
[INFO] [stdout] test validate::strings::tests::test_string_with_newlines ... ok
[INFO] [stdout] test validate::strings::tests::test_utf8_emoji ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max20000_text_exactly_at_boundary ... ok
[INFO] [stdout] test validate::strings::tests::test_utf8_mixed_script ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max20000_text_invalid ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max20000_text_one_over_boundary ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max20000_text_valid ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max20000_text_large_string ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max256_text_exactly_at_boundary ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max256_text_invalid ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max256_text_one_over_boundary ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max256_text_multibyte ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max256_text_valid ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max70_text_exactly_at_boundary ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max70_text_id_fields ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max70_text_one_over_boundary ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max70_text_invalid ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max70_text_valid ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max_text_custom_limits ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max_text_at_limit ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max_text_over_limit ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max_text_error_message_content ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max_text_multibyte_utf8 ... ok
[INFO] [stdout] test validate::strings::tests::test_validate_max_text_under_limit ... ok
[INFO] [stdout] test validate::strings::tests::test_zero_max_length ... ok
[INFO] [stdout] test transport::tokio::tests::test_tokio_transport_partial_read ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_mark_heartbeat_sent ... ok
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_should_send_heartbeat_after_interval ... ok
[INFO] [stdout] test transport::tokio::tests::test_tokio_transport_read_timeout ... ok
[INFO] [stderr]      Running tests/client_integration.rs (/opt/rustwide/target/debug/deps/client_integration-79c877eeb6f5f652)
[INFO] [stdout] test server::heartbeat::tests::test_heartbeat_monitor_check_timeout_not_expired ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 252 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_builder_rejects_invalid_message ... ok
[INFO] [stdout] test test_client_connection_failure_handling ... ok
[INFO] [stdout] test test_client_message_id_generation ... ok
[INFO] [stdout] test test_client_reconnection_backoff ... ok
[INFO] [stdout] test mock_server_starts ... ok
[INFO] [stdout] test test_client_connects_to_server ... ok
[INFO] [stdout] test test_client_sends_built_message ... ok
[INFO] [stdout] test test_client_receives_response ... ok
[INFO] [stdout] test test_client_late_response_rejected ... ok
[INFO] [stdout] test test_client_sends_payment_request ... ok
[INFO] [stdout] test test_client_concurrent_requests ... ok
[INFO] [stdout] test test_client_all_17_casp_types ... ok
[INFO] [stdout] test test_client_times_out_on_slow_response ... ok
[INFO] [stdout] test test_client_reconnects_on_connection_failure ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/client_server_e2e_integration.rs (/opt/rustwide/target/debug/deps/client_server_e2e_integration-4625fb4d901d1522)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_e2e_framed_transport_integration ... ok
[INFO] [stdout] test test_e2e_oversized_message_rejection ... ok
[INFO] [stdout] test test_e2e_client_server_payment_request ... ok
[INFO] [stdout] test test_e2e_length_prefix_framing_on_wire ... ok
[INFO] [stdout] test test_e2e_heartbeat_with_framed_transport ... ok
[INFO] [stdout] test test_e2e_malformed_message_handling ... ok
[INFO] [stdout] test test_e2e_concurrent_clients ... ok
[INFO] [stdout] test test_e2e_all_17_casp_message_types ... ok
[INFO] [stdout] test test_e2e_raw_framed_transport_communication ... ok
[INFO] [stdout] test test_e2e_reversal_transaction_flow ... ok
[INFO] [stdout] test test_e2e_reconciliation_flow ... ok
[INFO] [stdout] test test_e2e_server_to_client_response_flow ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_e2e_server_to_client_response_flow stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_e2e_server_to_client_response_flow' (296) panicked at tests/client_server_e2e_integration.rs:229:14:
[INFO] [stdout] Request 1 receive should succeed: Connection { details: "Connection reset by peer (os error 104)" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5a936ceca6da - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5a936ceca6da - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec4e911328de40a6]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5a936ceca6da - std[ec4e911328de40a6]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5a936ceca6da - <<std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5a936cedf3da - <core[a96a4c5c53f902a3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5a936cedf3da - core[a96a4c5c53f902a3]::fmt::write
[INFO] [stdout]    6:     0x5a936cecf422 - std[ec4e911328de40a6]::io::default_write_fmt::<alloc[c960326de6de28e6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5a936cecf422 - <alloc[c960326de6de28e6]::vec::Vec<u8> as std[ec4e911328de40a6]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5a936cea8cff - <std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5a936cea8cff - std[ec4e911328de40a6]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5a936cec27a9 - std[ec4e911328de40a6]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5a936ccd4b4c - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x5a936ccd4b4c - test[30c43f9fd66fea90]::test_main_with_exit_callback::<test[30c43f9fd66fea90]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5a936cec2a22 - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x5a936cec2a22 - std[ec4e911328de40a6]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5a936cea8db8 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5a936cea06a9 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace::<std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5a936cea9c8d - __rustc[aa69f48705c57ca8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5a936cedfb9c - core[a96a4c5c53f902a3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5a936cedf912 - core[a96a4c5c53f902a3]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x5a936cc3e0ce - <core[a96a4c5c53f902a3]::result::Result<nexo_retailer_protocol[94fe0cba062cf2e9]::Casp002Document, nexo_retailer_protocol[94fe0cba062cf2e9]::error::NexoError>>::expect
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/result.rs:1185:23
[INFO] [stdout]   21:     0x5a936cc3114e - client_server_e2e_integration[d462f3f717557440]::test_e2e_server_to_client_response_flow::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/client_server_e2e_integration.rs:229:14
[INFO] [stdout]   22:     0x5a936cc6b5c2 - <core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>> as core[a96a4c5c53f902a3]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5a936cc6b63d - <core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>> as core[a96a4c5c53f902a3]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x5a936ccc655d - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:70
[INFO] [stdout]   25:     0x5a936ccc645b - tokio[d16e88bf2a025c11]::task::coop::with_budget::<core[a96a4c5c53f902a3]::task::poll::Poll<()>, <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   26:     0x5a936ccc645b - tokio[d16e88bf2a025c11]::task::coop::budget::<core[a96a4c5c53f902a3]::task::poll::Poll<()>, <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   27:     0x5a936ccc645b - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:753:25
[INFO] [stdout]   28:     0x5a936ccbc3f0 - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Context>::enter::<core[a96a4c5c53f902a3]::task::poll::Poll<()>, <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   29:     0x5a936ccc562d - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:752:44
[INFO] [stdout]   30:     0x5a936ccc4924 - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   31:     0x5a936cc3c24b - <tokio[d16e88bf2a025c11]::runtime::context::scoped::Scoped<tokio[d16e88bf2a025c11]::runtime::scheduler::Context>>::set::<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<()>>::{closure#0}, (alloc[c960326de6de28e6]::boxed::Box<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x5a936cc80a59 - tokio[d16e88bf2a025c11]::runtime::context::set_scheduler::<(alloc[c960326de6de28e6]::boxed::Box<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<()>), <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   33:     0x5a936cc6f942 - <std[ec4e911328de40a6]::thread::local::LocalKey<tokio[d16e88bf2a025c11]::runtime::context::Context>>::try_with::<tokio[d16e88bf2a025c11]::runtime::context::set_scheduler<(alloc[c960326de6de28e6]::boxed::Box<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<()>), <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[c960326de6de28e6]::boxed::Box<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x5a936cc6f4ce - <std[ec4e911328de40a6]::thread::local::LocalKey<tokio[d16e88bf2a025c11]::runtime::context::Context>>::with::<tokio[d16e88bf2a025c11]::runtime::context::set_scheduler<(alloc[c960326de6de28e6]::boxed::Box<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<()>), <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[c960326de6de28e6]::boxed::Box<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x5a936cc7fb2d - tokio[d16e88bf2a025c11]::runtime::context::set_scheduler::<(alloc[c960326de6de28e6]::boxed::Box<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::Core>, core[a96a4c5c53f902a3]::option::Option<()>), <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   36:     0x5a936ccc3560 - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>::{closure#0}, core[a96a4c5c53f902a3]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   37:     0x5a936ccc3856 - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   38:     0x5a936ccc3eb0 - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   39:     0x5a936cc73d83 - tokio[d16e88bf2a025c11]::runtime::context::runtime::enter_runtime::<<tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x5a936ccb7e21 - <tokio[d16e88bf2a025c11]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   41:     0x5a936cc84184 - <tokio[d16e88bf2a025c11]::runtime::runtime::Runtime>::block_on_inner::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   42:     0x5a936cc8434f - <tokio[d16e88bf2a025c11]::runtime::runtime::Runtime>::block_on::<core[a96a4c5c53f902a3]::pin::Pin<&mut dyn core[a96a4c5c53f902a3]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   43:     0x5a936cc36963 - client_server_e2e_integration[d462f3f717557440]::test_e2e_server_to_client_response_flow
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/client_server_e2e_integration.rs:238:66
[INFO] [stdout]   44:     0x5a936cc22237 - client_server_e2e_integration[d462f3f717557440]::test_e2e_server_to_client_response_flow::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/client_server_e2e_integration.rs:187:51
[INFO] [stdout]   45:     0x5a936cc122c6 - <client_server_e2e_integration[d462f3f717557440]::test_e2e_server_to_client_response_flow::{closure#0} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5a936ccc8c2b - <fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   47:     0x5a936ccc8c2b - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18
[INFO] [stdout]   48:     0x5a936ccd561b - test[30c43f9fd66fea90]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74
[INFO] [stdout]   49:     0x5a936ccd561b - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   50:     0x5a936ccd561b - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   51:     0x5a936ccd561b - std[ec4e911328de40a6]::panicking::catch_unwind::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   52:     0x5a936ccd561b - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   53:     0x5a936ccd561b - test[30c43f9fd66fea90]::run_test_in_process
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27
[INFO] [stdout]   54:     0x5a936ccd561b - test[30c43f9fd66fea90]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43
[INFO] [stdout]   55:     0x5a936ccd0d34 - test[30c43f9fd66fea90]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41
[INFO] [stdout]   56:     0x5a936ccd0d34 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   57:     0x5a936ccd8222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   58:     0x5a936ccd8222 - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   59:     0x5a936ccd8222 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   60:     0x5a936ccd8222 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   61:     0x5a936ccd8222 - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   62:     0x5a936ccd8222 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   63:     0x5a936ccd8222 - <std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x5a936cec9faf - <alloc[c960326de6de28e6]::boxed::Box<dyn core[a96a4c5c53f902a3]::ops::function::FnOnce<(), Output = ()> + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   65:     0x5a936cec9faf - <std[ec4e911328de40a6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   66:     0x7659bcfd6aa4 - <unknown>
[INFO] [stdout]   67:     0x7659bd063a64 - clone
[INFO] [stdout]   68:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_e2e_server_to_client_response_flow
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 11 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test client_server_e2e_integration`
[INFO] running `Command { std: "docker" "inspect" "7e78ee653e3aa4302f50d383ec19e5918f5d8e7149e77424eaf80d2e68dea164", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e78ee653e3aa4302f50d383ec19e5918f5d8e7149e77424eaf80d2e68dea164", kill_on_drop: false }`
[INFO] [stdout] 7e78ee653e3aa4302f50d383ec19e5918f5d8e7149e77424eaf80d2e68dea164
